package controllers;

import java.sql.SQLException;

import models.Usuario;
import play.mvc.Controller;
import play.mvc.Scope;

public class Application extends Controller {
	public static Scope.Session sessao;
	public static String menufull = "";
	public static String menubasic = "";
	public static String rodapebasic = "";
	
    public static void index() {
    	boolean logado = !(Application.sessao == null || Application.sessao.get("usuario") == null);
    	
    	menufull =  "<a href=\"/cadCoralista.html\"><div class=\"menuitem\">Cadastrar Coralista</div></a>"+
    			"<a href=\"/cadEvento.html\"><div class=\"menuitem\">Cadastrar Evento</div></a>"+
    			"<a href=\"/cadAdministrador.html\"><div class=\"menuitem\">Cadastrar Administrador</div></a>"+
    			"<a href=\"/cadEnquete.html\"><div class=\"menuitem\">Cadastrar enquete</div></a>"+
    			"<a href=\"/cadHino.html\"><div class=\"menuitem\">Cadastrar Hino</div></a>"+
    			"<a href=\"/cadMensagem.html\"><div class=\"menuitem\">Cadastrar Mensagem</div></a>"+
    			"<a href=\"/cadNoticia.html\"><div class=\"menuitem\">Cadastrar Notícia</div></a>"+    		
    			"<a href=\"/exibicaoCoralista.html\"><div class=\"menuitem\">Exibição Coralistas</div></a>"+
    			"<a href=\"/exibicaoEvento.html\"><div class=\"menuitem\">Exibição Eventos</div></a>"+
    			"<a href=\"/exibicaoEnquete.html\"><div class=\"menuitem\">Exibição Enquetes</div></a>"+
    			"<a href=\"/exibicaoHino.html\"><div class=\"menuitem\">Exibição Hino</div></a>"+
    			"<a href=\"/exibicaoNoticia.html\"><div class=\"menuitem\">Exibição Notícia</div></a>"+
    			"<a href=\"/exibicaoCoralista.html\"><div class=\"menuitem\">Consulta Frequência</div></a>"+
    			"<a href=\"/eventocontroller/exibicaotopresenca\"><div class=\"menuitem\">Submeter Presenças</div></a>"+
    			"<div class=\"informacao\">" +
    				"<span>Informações:</span>"+
    				"<span>- Coral: Rosa de Saron</span>"+
    				"<span>- Regente: Samuel Santos</span>"+
    			"</div>";
    	
    	menubasic =  "<a href=\"/cadMensagem.html\"><div class=\"menuitem\">Cadastrar Mensagem</div></a>"+
    			"<a href=\"/exibicaoEvento.html\"><div class=\"menuitem\">Exibição Eventos</div></a>"+
    			"<a href=\"/exibicaoEnquete.html\"><div class=\"menuitem\">Exibição Enquetes</div></a>"+
    			"<a href=\"/exibicaoHino.html\"><div class=\"menuitem\">Exibição Hino</div></a>"+
    			"<a href=\"/exibicaoNoticia.html\"><div class=\"menuitem\">Exibição Notícia</div></a>"+
    			"<div class=\"informacao\">" +
    				"<span>Informações:</span>"+
    				"<span>- Coral: Rosa de Saron</span>"+
    				"<span>- Regente: Samuel Santos</span>"+
    			"</div>";
    	
    	rodapebasic = "<a href=\"/index.html\"><span class=\"rodapeitem\">Home</span></a>-"+
    			 "<a href=\"/exibicaoHino.html\"><span class=\"rodapeitem\">Hinos</span></a>-"+
    			 "<a href=\"/exibicaoEnquete.html\"><span class=\"rodapeitem\">Enquetes</span></a>"+
    			"<span class=\"rodapedev\">Desenvolvido por SimpleTask</span>";
    	
    	String menu = menubasic;
    	String rodape = Application.rodapebasic;
    	if(logado) {
    		if(Application.sessao.get("tipo").compareTo("0") == 0){
    			menu = Application.menubasic;
    		}
    		else{
    			menu = Application.menufull;
    		}
    	}
    	
        render("Application/index.html", logado, menu, rodape);
    }
        
    public static void logout() {
    	if(sessao == null) return;
    	sessao.remove("usuario");
    	sessao.remove("codigo");
    	sessao.remove("tipo");
    	index();
    }
    
    public static void login() {
    	String usuario = params.get( "usuario" );
    	String senha = params.get( "senha" );
    	
    	// Criar sessao
    	if(sessao == null) {
    		sessao = new Scope.Session();
    	}
    	
    	
    	// Testar se usuario e senha sao validos
    	try {
    		Usuario user = Usuario.isValid(usuario, senha);
    		if(user != null) {
    			sessao.put("usuario", user.getNome());
    			sessao.put("codigo", user.getCodigo());
    			sessao.put("tipo", user.getTipo());
    			index();
    		}
    		else {
    			String msg = "Usuario nao existe ou senha invalida!";
    		
    			// Java Script mostrando a mensagem de erro!
            	String 	script = "<script language=\"javascript\" type=\"text/javascript\">";
            			script += "alert ( \" " + msg + "\" ) </script> ";
            			
            			String menu = menubasic;
            	    	String rodape = rodapebasic;
            	    	
            	        render("Application/index.html", script, menu, rodape);
    		}
    	}
    	catch(SQLException ex) {
    		String msg = "O codigo SQL teve um comportamento inesperado!";

			// Java Script mostrando a mensagem de erro!
        	String 	script = "<script language=\"javascript\" type=\"text/javascript\">";
        			script += "alert ( \" " + msg + "\" ) </script> ";
        			
        			String menu = menubasic;
        	    	String rodape = rodapebasic;
        	    	
        	        render("Application/index.html", script, menu, rodape);
    	}
    }
    
    public static boolean isLogged() {
    	if(Application.sessao == null || Application.sessao.get("usuario") == null) {
			String msg = "O usuario nao esta logado!";
    		
    		// Java Script mostrando a mensagem de erro!
            String 	script = "<script language=\"javascript\" type=\"text/javascript\">";
            		script += "alert ( \" " + msg + "\" ) </script> ";
            		
            		String menu = menubasic;
        	    	String rodape = rodapebasic;
        	    	
        	        render("Application/index.html", script, menu, rodape);
		}
    	
    	return true;
    }
    
    public static boolean isLogged2() {
    	if(Application.sessao == null || Application.sessao.get("usuario") == null) {
    		return false;
    	}
    	return true;
    }
}